package cn.nawang.ebeim.api.service;

import cn.nawang.ebeim.api.bean.CustomerBean;
import cn.nawang.ebeim.api.comm.PageList;
import cn.nawang.ebeim.api.comm.Pages;
import cn.nawang.ebeim.api.domain.Customer;
import cn.nawang.ebeim.api.domain.User;

public interface CustomerService {

  /**
   * @author 许炜毅
   * @Description 获取用户数据列表
   * @param page
   * @return PageList 
   * @date 2015年8月7日下午3:45:18
   *
   * @修改人 
   * @修改日期
   */
  public PageList getCustomers(Pages page);
  
  /**
   * @author 许炜毅
   * @Description 验证公司名称是否存在
   * @param name
   * @return Customer 
   * @date 2015年8月7日下午3:44:55
   *
   * @修改人 
   * @修改日期
   */
  public Customer findCustomerByName(String companyName);
  
  /**
   * @author 许炜毅
   * @Description 新增客户
   * @param user
   * @param companyName
   * @param spaceSize
   * @param useType
   * @param CaIdJoinLabId
   * @param createUserId
   * @return boolean 
   * @date 2015年8月7日下午3:45:40
   *
   * @修改人 
   * @修改日期
   */
  public boolean saveAdminInfo(User user,String companyName,String useType,
                               String CaIdJoinLabId,String createUserId,int maxCopys,
                               String salesPacakgeId,int authTime);
  
  /**
   * @author 许炜毅
   * @Description 获取客户信息列表
   * @param page
   * @return PageList 
   * @date 2015年8月7日下午4:25:37
   *
   * @修改人 
   * @修改日期
   */
  public PageList findCustomerList(Pages page);
  
  /**
   * @author 许炜毅
   * @Description 批量转移用户到指定部门
   * @param departId
   * @param userIdStr
   * @return boolean 
   * @date 2015年8月7日下午4:50:30
   *
   * @修改人 
   * @修改日期
   */
  public boolean batchTransferUser(int departId,String userIdStr);
  
  /**
   * 
   * @author fanyb
   * @Description: 根据终端编号查找客户对象
   * @param terminalId 终端编号
   * @return Customer 客户对象
   * @date Aug 19, 201510:01:02 AM
   *
   * @修改人 
   * @修改日期
   */
  public Customer findCustomerByTerminalId(String terminalId);
  
  public Customer findOne(String id);
  
  public void updata(Customer customer);
  
  /**
   * 
   * @author fanyb
   * @Description: 获取客户详情
   * @param id 客户编号
   * @return CustomerBean 
   * @date Dec 2, 201510:20:24 AM
   *
   * @修改人 
   * @修改日期
   */
  public CustomerBean findCustomerBean(String id);
  
}
